import java.util.Scanner;
public class Main {
    /*给你一个下标从 0 开始的整数数组 nums 。如果下标对 i、j 满足 0 ≤ i < j < nums.length ，
    如果 nums[i] 的 第一个数字 和 nums[j] 的 最后一个数字 互质 ，
    则认为 nums[i] 和 nums[j] 是一组 美丽下标对 。
    返回 nums 中 美丽下标对 的总数目。
    对于两个整数 x 和 y ，如果不存在大于 1 的整数可以整除它们，
    则认为 x 和 y 互质 。换而言之，如果 gcd(x, y) == 1 ，
    则认为 x 和 y 互质，其中 gcd(x, y) 是 x 和 y 的 最大公因数 。*/
    public static int check(int[] nums){
        int[] arr=new int[10];
        int res=0;
        for(int n:nums){
            for(int y=1;y<10;y++){
                if(arr[y]>0&&gcd(y,n%10)==1)//y:nums[i]的首位,x:nums[j]的末尾
                    res+=arr[y];
            }
            while(n>=10){//记录末位频率
                n/=10;
            }
            arr[n]++;
        }
        return res;
    }
    public static int gcd(int a,int b){
        return b==0?a:gcd(b,a%b);
    }
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int[] nums=new int[n];
        for(int i=0;i<n;i++){
            nums[i]=sc.nextInt();
        }
        int result=check(nums);
        System.out.println(result);
    }
}